LGF_MeasureCpuLoad (FB / 1.1.1)

Übersicht

Autor: Simatic Systems Support

Kurzbeschreibung

Messung und Berechnung der SPS-CPU-Last für verschiedene OB-Typen

Baustein Schnittstelle

LGF_MeasureCpuLoad (FB)
Bool  enable valid  Bool
    
Bool  reset busy  Bool
    
Real  loadCascade error  Bool
    
LGF_typeMeasureCpuLoad_Configuration  configuration status  Word
    
   averagingActive  Bool
    
   loadCascadeActive  Bool
    
   cycleTimeMin  LTime
    
   cycleTimeActual  LTime
    
   cycleTimeMax  LTime
    
   cycleTimeMaxConfigured  LTime
    
   runtime  LReal
    
   cpuLoad  Real
    
   comLoad  Real
    
   comLoadConfigured  Real
    
   limitWarning  Bool
    
   limitAlarm  Bool
    
   resultsCyclic  Array[0..#LAST_CYCLIC_BLOCK_INDEX] of LGF_typeMeasureCpuLoad_ResultBlock
    
   results  Array[0..#LAST_BLOCK_INDEX] of LGF_typeMeasureCpuLoad_ResultBlock
    
   diagnostics  LGF_typeDiagnostics
    
   

Input Parameter

BezeichnerDatentyp Default Wert Beschreibung
enableBool FALSE TRUE: Freigabe der Funktionalität des FB
resetBool FALSE Steigende Flanke: Rücksetzen aller internen Werte und auch der SPS-CPU-Timing-Statistik
loadCascadeReal 0.0 Prozentualer Lastwert aus einem anderen `LGF_MeasureCpuLoad` [%] (Connect `cpuLoad` aus Vorgängerinstanzaufruf)
configurationLGF_typeMeasureCpuLoad_Configuration --- Dieser UDT gehört zum Modul `LGF_MeasureCpuLoad` und listet alle möglichen Parameter zur Konfiguration des Verhaltens auf.

Output Parameter

BezeichnerDatentyp Beschreibung
validBool TRUE: Gültiger Satz von Ausgangswerten am FB vorhanden
busyBool TRUE: FB ist noch nicht beendet, neue Ausgangswerte können erwartet werden
errorBool TRUE: Bei der Ausführung des FBs ist ein Fehler aufgetreten
statusWord 16#0000 - 16#7FFF: Status des FB, 16#8000 - 16#FFFF: Fehlererkennung
averagingActiveBool TRUE: Mittelwertbildung der Istwerte aktiv
loadCascadeActiveBool TRUE: Lastberechnungskaskade aktiv
cycleTimeMinLTime Minimale Zykluszeit [ms]
cycleTimeActualLTime Aktuelle Zykluszeit [ms]
cycleTimeMaxLTime Maximale Zykluszeit [ms]
cycleTimeMaxConfiguredLTime Konfigurierte maximale Zykluszeit [ms] (in der Hardware-Konfiguration der SPS)
runtimeLReal Aktuelle Zykluszeit inkl. unterbechungen [ms]
cpuLoadReal Aktuelle SPS-CPU-Auslastung [%]
comLoadReal Aktuelle Kommunikationslast [%]
comLoadConfiguredReal Konfigurierte Kommunikationsauslastung [%]
limitWarningBool Last über dem konfigurierten Schwellenwert 'configuration.limitWarning'
limitAlarmBool Laden von mehr als dem konfigurierten Schwellenwert 'configuration.limitAlarm'
resultsCyclicArray[0..#LAST_CYCLIC_BLOCK_INDEX] of LGF_typeMeasureCpuLoad_ResultBlock Ergebnisse des zyklischen OB-Auslesens
resultsArray[0..#LAST_BLOCK_INDEX] of LGF_typeMeasureCpuLoad_ResultBlock Ergebnisse von NICHT-zyklischen OB-Auslesungen
diagnosticsLGF_typeDiagnostics Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#7000STATUS_NO_CALL
Kein Auftrag wird gerade bearbeitet
16#7001STATUS_FIRST_CALL
Erster Aufruf nach Eingang eines neuen Auftrags (steigende Flanke 'Freigabe')
16#7002STATUS_SUBSEQUENT_CALL
Folgeaufruf bei aktiver Bearbeitung ohne weitere Angaben
16#8600ERR_UNDEFINED_STATE
Fehler: Aufgrund eines undefinierten Zustands im Zustandsautomaten
16#8601ERROR_RTINFO_CONFIGURED_MAX_CYCLETIME
Fehler: RT INFO Lesen konfigurierte MAX-Zykluszeit Information
16#8602ERROR_RTINFO_CONFIGURED_COM_LOAD
Fehler: RT INFO Lesen konfigurierte COM Load Information
16#8610ERROR_RTINFO_ACTUAL_CYCLETIME
Fehler: RT INFO Lesen aktuelle Zykluszeit Information
16#8611ERROR_RTINFO_ACTUAL_MIN_CYCLETIME
Fehler: RT INFO Lesen MIN-Zykluszeit Information
16#8612ERROR_RTINFO_ACTUAL_MAX_CYCLETIME
Fehler: RT INFO Lesen MAX Zykluszeit Information
16#8620ERROR_RTINFO_ACTUAL_COM_LOAD
Fehler: RT INFO Lesen aktuelle COM-Load-Informationen
16#8630ERROR_RTINFO_RESET_STATISTICS
Fehler: RT INFO Statistische Informationen setzen
16#9000ERROR_RTINFO_RUNTIME_OB_CYCLIC
Fehler: Lesen der RT INFO Zykluszeit Information OB + Index des OB im Array
16#9100ERROR_RTINFO_RUNTIME_OB
Fehler: Lesen RT INFO Zykluszeit Information OB + Index des OB im Array

Benutzer definierte Datentypen

LGF_typeMeasureCpuLoad_Configuration (UDT / V1.0.0)

Dieser UDT gehört zum Modul LGF_MeasureCpuLoad und listet alle möglichen Parameter zur Konfiguration des Verhaltens auf.

Bezeichner Datentyp Default Wert Beschreibung
cfcRun Bool FALSE CFC-Lauf (OB-Nr. wird nach 10xx verschoben)
averagingValues USInt 0 Mittelwertbildung der Messwerte durch Bildung des arithmetischen Mittelwerts
comLoadSim UInt 0 Com-Load-Simulation [%]
WENN > 0.0 Wert wird für die Berechnung verwendet
WENN <= 0.0 tatsächlichen Com-Load-Wert verwenden, der von der SPS gelesen wird
limitWarning Real 70.0 Warngungs Grenzwert [%]
limitAlarm Real 100.0 Alarm Grenzwert [%]
organizationBlocksCyclic Array[0..10] of LGF_typeMeasureCpuLoad_ConfigurationBlock --- Zyklische Blöcke zur Messung
organizationBlocks Array[0..30] of LGF_typeMeasureCpuLoad_ConfigurationBlock --- NICHT zyklische Blöcke zur Messung

LGF_typeMeasureCpuLoad_ConfigurationBlock (UDT / V1.0.0)

Konfiguration für den zu messenden Block

Bezeichner Datentyp Default Wert Beschreibung
enableMeasurement Bool FALSE Messung freigeben
obNumber Int 0 Organisation's-Baustein Nummer des zu messenden Bausteins
initialLoad Real 0.0 Anfangslast [%], wird nur verwendet, wenn die Mittelwertbildung eingeschaltet ist

LGF_typeMeasureCpuLoad_ResultBlock (UDT / V1.0.0)

Ergebnisse für Block gemessen

Bezeichner Datentyp Default Wert Beschreibung
obNumber Int 0 Organisation Blocknummer
runtime LTime --- Laufzeit des Organisationsblocks [ms]
cycleLoad Real 0.0 Auslastung des Blocks berechnet über die Zykluszeit [%]
maxCycleLoad Real 0.0 Auslastung des Blocks berechnet über die MAX-Zykluszeit [%]
error Bool FALSE TRUE: Beim Lesen der Blockstatistik ist ein Fehler aufgetreten
status Word 16#0000 16#0000 - 16#7FFF: Status des `RT_INFO`, 16#8000 - 16#FFFF: Fehlererkennung

LGF_typeDiagnostics (UDT / V1.0.1)

Diagnosestruktur zur Speicherung und Übertragung von Diagnoseinformationen von Blöcken über die Schnittstelle.

Bezeichner Datentyp Default Wert Beschreibung
status Word 16#0000 Status des Bausteins oder Fehleridentifikation beim Auftreten des Fehlers
subfunctionStatus Word 16#0000 Status oder Rückgabewert von aufgerufenen FB's, FC's und Systembausteinen
stateNumber DInt 0 Zustand in der Zustandsmaschine des Blocks, in dem der Fehler aufgetreten ist

Funktionsbeschreibung

Mit dieser Funktion können die verschiedenen Laufzeiten von Organisationsbausteinen (OB) ausgelesen und anhand der Ergebnisse die SPS-CPU-Auslastung berechnet werden.

Die zu berücksichtigenden OBs werden in der Konfiguration angegeben und aktiviert, wobei zu beachten ist, dass zyklische und azyklische OBs in getrennten Strukturen konfiguriert werden müssen.

Es ist weiter möglich

Änderungshistorie

Version & DatumÄnderungsbeschreibung
1.0.0SAG BG
19.05.2024First Release
1.1.0SAG BG
06.05.2024Add Output with overall runtime incl. interrupts
1.1.1Siemens System Support
03.09.2025Bugfixed error in loop